package com.ruoyi.wzgl.wzrk.mapper;

import java.util.List;
import com.ruoyi.wzgl.wzrk.domain.Wzrk;
import com.ruoyi.wzgl.wzrk.domain.WzrkRkmx;
import com.ruoyi.wzgl.wzrk.vo.RkZeByMonthVo;
import com.ruoyi.wzgl.wzrk.vo.WzRklVo;

/**
 * 物资入库Mapper接口
 *
 * @author huacai
 * @date 2024-09-23
 */
public interface WzrkMapper
{
    /**
     * 查询物资入库
     *
     * @param wzrkId 物资入库主键
     * @return 物资入库
     */
    public Wzrk selectWzrkByWzrkId(Integer wzrkId);

    /**
     * 查询物资入库列表
     *
     * @param wzrk 物资入库
     * @return 物资入库集合
     */
    public List<Wzrk> selectWzrkList(Wzrk wzrk);

    /**
     * 新增物资入库
     *
     * @param wzrk 物资入库
     * @return 结果
     */
    public int insertWzrk(Wzrk wzrk);

    /**
     * 修改物资入库
     *
     * @param wzrk 物资入库
     * @return 结果
     */
    public int updateWzrk(Wzrk wzrk);

    /**
     * 删除物资入库
     *
     * @param wzrkId 物资入库主键
     * @return 结果
     */
    public int deleteWzrkByWzrkId(Integer wzrkId);

    /**
     * 批量删除物资入库
     *
     * @param wzrkIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWzrkByWzrkIds(Integer[] wzrkIds);

    /**
     * 批量删除入库明细
     *
     * @param wzrkIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWzrkRkmxByWzrkIds(Integer[] wzrkIds);

    /**
     * 批量新增入库明细
     *
     * @param wzrkRkmxList 入库明细列表
     * @return 结果
     */
    public int batchWzrkRkmx(List<WzrkRkmx> wzrkRkmxList);


    /**
     * 通过物资入库主键删除入库明细信息
     *
     * @param wzrkId 物资入库ID
     * @return 结果
     */
    public int deleteWzrkRkmxByWzrkId(Integer wzrkId);

    /**
     * 查询本月入库单量
     * @return
     */
    String getByRkDl();

    /**
     * 查询本月出库单量
     * @return
     */
    Integer getByCkDl();

    /**
     * 采购物资数量top10
     * @return
     */
    List<WzRklVo> selectWzRkl();

    /**
     * 近6个月每个月的总额
     * @return
     */
    List<RkZeByMonthVo> selectRkZeByMonth();
}
